package com.easy.common.es;

import com.alibaba.fastjson.JSONObject;
import com.easy.common.core.domain.model.ESHouseInfo;

import java.util.List;

/**
 * es服务
 *
 * @author RuoYu
 * @date 2022/12/14
 */
public interface ESHouseService {
    /**
     * 添加文档
     *
     * @param esHouseInfo es房子信息
     */
    public void addDoc(ESHouseInfo esHouseInfo);

    /**
     * 删除文档
     *
     * @param houseInformation 房子信息
     */
    public void deleteDoc(ESHouseInfo houseInformation);

    /**
     * 批量添加文档
     *
     * @param esHouseInfoList 房子信息
     */
    public void batchAddDoc(List<ESHouseInfo> esHouseInfoList);

    /**
     * 批量更新文档
     *
     * @param esHouseInfoList 房子信息
     */
    public void batchUpdateDoc(List<ESHouseInfo> esHouseInfoList);

    /**
     * 更新文档
     *
     * @param esHouseInfo 房子信息
     */
    public void updateDoc(ESHouseInfo esHouseInfo);

    /**
     * 按条件查询文档
     *
     * @param name 名字
     * @param msg  条件
     * @return {@link List}<{@link ESHouseInfo}>
     */
    public List<ESHouseInfo> queryDocByCondition(String name, String msg);


    /**
     * 条件分页查询
     *
     * @param page     页面
     * @param pageSize 页面大小
     * @param name     条件
     * @param value    价值
     * @return {@link JSONObject}
     */
    public JSONObject conditionalPaginationQuery(int page, int pageSize , String name, String value);

    /**
     * 按ES id查询文档
     *
     * @param id esId
     */
    public String queryDocById(String id);

    public void insert();
}
